buildscript method vs plugins DSL
buildscript method
pros
古くから使われているので実績がある
cons
plugin repository, plugin の GAV, plugin の適用の3つの対応が必要
plugins DSL
pros
公式で推奨
plugin repository の指定と plugin id の指定の二つでよい
initialization phase にプラグインのロードが行われる
cons
incubating
plugin の apply 時の挙動で一部特殊な挙動をする
version を記載した場合にその buildscript で plugin load が走り、apply が複数回行われる。
kotlin gradle plugin のように ext に値を入れて管理し全体で一回を想定している挙動がある場合に複数回実行されると動かない場合がある